[アップデート] Amazon Neptuneのストレージ設定でI/O-Optimizedが追加されました
こんにちは。サービス開発室の武田です。
グラフデータベースサービスであるAmazon NeptuneのストレージオプションにI/O-Optimizedが追加されました。
I/O-Optimizedとは
新しくクラスターのストレージ設定として I/O-Optimized が追加されました。従来の設定は Standard となります。またI/O-Optimizedは、 タイプがProvisionedかつ、エンジンバージョンが1.3以上 の場合のみ選択可能です。 Serverless では選択できないため注意しましょう。
両者はコストおよびパフォーマンスが異なります。ワークロードの特性に合わせて選択することでコスト効率を高められます。
Standardを選択した場合、インスタンス料金のほかストレージとI/Oに料金がかかります。一方でI/O-Optimizedの場合は、I/Oの料金はインスタンス料金に含まれます。そのためI/Oが大量に発生するようなワークロードでも料金が一定となり予測しやすくなります。インスタンスクラスがdb.r6g.large
の場合を例として料金を比較してみましょう。
db.r6g.largeの料金(1時間) | ストレージの料金(1GB/month) | I/Oの料金(100万リクエスト) | |
---|---|---|---|
Standard | $0.3967 | $0.12 | $0.24 |
I/O-Optimized | $0.535 | $0.27 | - |
料金計算の例
次の条件でそれぞれの料金を試算してみます。
パターン1
- 東京リージョン、オンデマンド料金
- インスタンスクラス:db.r6g.large
- インスタンス2台のクラスター構成
- 50GBのストレージ
- 月 2億(200,000,000)回 のI/Oリクエスト
- 1ヵ月は30.5日
まずはStandard
の場合です。
- クラスターの料金は
0.3967 * 24 * 30.5 * 2 = 580.7688
- ストレージ料金は
0.12 * 50 = 6
- I/Oリクエスト料金は
0.24 * 200 = 48
- 月の料金はこれらの合計ですので、
580.7688 + 6 + 48 = 634.7688
続いてI/O-Optimized
の場合です。
- クラスターの料金は
0.535 * 24 * 30.5 * 2 = 783.24
- ストレージ料金は
0.27 * 50 = 13.5
- I/Oリクエスト料金はなし
- 月の料金はこれらの合計ですので、
783.24 + 13.5 = 796.74
I/O-Optimized
の方がやや割高という結果になりました。
パターン2
- 東京リージョン、オンデマンド料金
- インスタンスクラス:db.r6g.large
- インスタンス2台のクラスター構成
- 50GBのストレージ
- 月 20億(2,000,000,000)回 のI/Oリクエスト
- 1ヵ月は30.5日
違いはI/Oリクエスト回数だけです。
まずはStandard
の場合です。
- クラスターの料金は
0.3967 * 24 * 30.5 * 2 = 580.7688
- ストレージ料金は
0.12 * 50 = 6
- I/Oリクエスト料金は
0.24 * 2000 = 480
- 月の料金はこれらの合計ですので、
580.7688 + 6 + 480 = 1066.7688
続いてI/O-Optimized
の場合です(実はパターン1と同じです)。
- クラスターの料金は
0.535 * 24 * 30.5 * 2 = 783.24
- ストレージ料金は
0.27 * 50 = 13.5
- I/Oリクエスト料金はなし
- 月の料金はこれらの合計ですので、
783.24 + 13.5 = 796.74
先ほどと異なり、I/O-Optimized
の方が 25.3%程度 安くなっています。このように、I/O-Optimized
はI/Oリクエストが増えるほどよりお得になります。
まとめ
Neptuneにストレージ設定の項目が新しく追加されました。I/Oヘビーなワークロードの場合、パフォーマンス改善、コストダウンが期待できます。現在Neptuneが稼働している環境があるようであればぜひ検討してみてください。
なお、既存環境でもストレージ設定の変更は可能ですが、 30日ごと にしか変更できませんので注意してください。